/*
 * Copyright 2016-2036 the original author or authors.
 * 
 * COMMERCIAL USE OF THIS SOFTWARE WITHOUT WARRANTY IS NOT ALLOWED.
 * Use is subject to license terms! You can distribute a copy of this software
 * to others for free. This software is a non-profit and open-source project.
 * Any contribution to this project will make it better.
 * All rights reserved! Owned by Stephen Liu.
 * 
 */
package com.github.arrow.function.v4;

import com.github.arrow.function.Coords;
import com.github.arrow.function.Callback;

/**
 * @author ste7en.liu@gmail.com
 * @since 2016/10/17
 */
public class LocationHelper {
    private ApiWrapper apiWrapper;

    private LocationHelper() {}

    AsynJob<Void> commit(String address) {
        return callback ->
                apiWrapper.getLocation(address)
                .start(new Callback<Coords>() {
                    @Override
                    public void onResult(Coords coords) {
                        apiWrapper.submitLocation(coords)
                            .start(new Callback<Void>() {
                                @Override
                                public void onResult(Void aVoid) {
                                    callback.onResult(null);
                                }

                                @Override
                                public void onError() {
                                    callback.onError();
                                }
                            });
                    }

                    @Override
                    public void onError() {

                    }
                });
    }
}
